Commonly-assigned, copending U.S. patent application, No. 09/439,980, entitled xe2x80x9cNonintrusive Update Of Filesxe2x80x9d, filed Nov. 12, 1999.
This invention relates to data network systems, and more particularly to file system for distributing content in a data network and methods relating to the same.
Data network usage is growing rapidly due, in part, to the ease of distributing content over the Internet and the World Wide Web (the xe2x80x9cWebxe2x80x9d), which has been simplified by the emergence of the Hypertext Markup Language (xe2x80x9cHTMLxe2x80x9d) and the Hypertext Transfer Protocol (xe2x80x9cHTTPxe2x80x9d). Increased data network usage is also due to recent advances in networking technology, which provide ever-increasing storage capacity for content providers, and ever-increasing connection bandwidth for end users.
The Internet is an internetwork of networks, routers, backbones, and other switches and connections that separate a source of content from a user. Providing content from a single source to a single user becomes complex for a large, distributed network such as the Internet. Responding to requests from numerous users, who may be widely geographically distributed, and who may present widely varying traffic demands over time, becomes very complex. Inadequate management of network resources may result in the sluggish performance that is familiar to Internet users as slow page loading or outright failure of a request to a server.
One approach to this difficulty is to provide xe2x80x9cmirror sites,xe2x80x9d which are content servers that supply identical content on one or more sites associated with an original content provider. However, mirror sites do not function well in highly dynamic environments, where frequent content changes require frequent mirror updates. Mirror sites are particularly deficient in environments where there are small changes to large files, since there is no efficient mechanism for transmitting incremental file changes to mirrors.
Accordingly, a system and/or method is still needed for efficiently distributing content in a data network. Such a system should be scalable to the Internet and transparent to users and content providers.
According to one aspect of the invention, a file system for distributing content in a data network, comprises a file replication and transfer system and a replicated file receiver system. The file replication and transfer system includes an interface file system which looks for changes made to contents of a file created and stored in an associated work file system. A file system monitor is communicatively associated with the interface filing system monitors events occurring with the interface file system and causes copies of the new files to be transferred over the data network to the replicated file receiver system.
According to another aspect of the invention, the interface file system looks for changes made to the contents of files already stored in the work file system and creates an update file in a mirror file system if a change to the contents of a file stored in the work file system is observed by the interface file system.
According to a further aspect of the invention, a collector file system communicatively associated with the mirror file system can be provided for temporarily storing a copy of the update file.
According to a further aspect of the invention, the replicated file receiver system includes a file construction system for constructing a new version of the file from a copy of the file and the update file.
According to a further aspect of the invention, the replicated file receiver system further includes a receiver collector file system for storing the new version of the file.
According to a further aspect of the invention, the replicated file receiver system further includes a receiver interface file system for enabling work to be conducted with the copy of the file if an open request for the copy of the file has been made prior to the construction of the new version of the file, and for enabling work to be conducted with the new version of the file if an open request for the copy of the file has been made after the notification that the new version of the file has been constructed.
According to a further aspect of the invention, a method for distributing content in a data network comprises creating an update file which records changes made to contents of a file stored in a work file system; generating a notification that the at least one change has been made to the contents of the file stored in the work file system, the notification indicating that the update file reflects all the changes of a version of the file; and distributing the update file over the data network to a receiver work file system.
According to a further aspect of the invention, a method for distributing content in a data network, comprises looking for changes made to contents of a file stored in a work file system; creating an update file which records only changes made to the contents of the file stored in the work file system; and distributing the update file over the data network to a receiver work file system; wherein the looking and creating steps are performed in a kernel mode.
According to a further aspect of the invention, a method for distributing content in a data network, comprises creating and storing a file in a work file system; generating a notification that the file has been created and stored in the work file system; and distributing a copy of the file over the data network to a receiver work file system.
According to a further aspect of the invention, a method for distributing content in a data network, comprises looking for files created and stored in a work file system; and distributing copies of the files over the data network to a receiver work file system operating at a second location; wherein the looking step is performed in a kernel mode.